第一部分我們談的是「計算生態學」,講到海廢、海保署、海洋塑料,這些是屬於「海」的範疇;第二部分我們談到了「軟體循環經濟」,講到循環工廠中的各種軟體物件,這是屬於「空」的範疇;在即將進入「陸」的範疇前,也就是「智能永續城市」主題,我們先來談一下雲原生架構。這個架構「陸、海、空」三軍統合起來,一切之前鋪陳都有了意義。
有人說,一個城市要怎麼永續,要怎麼有智慧呢?很簡單,如果它有一顆腦袋。這個腦袋就是其上之雲 (Cloud)。
如果我們想要開始翻轉一個城市,使其變為永續、智慧,我們需要有一群社群玩家來幫助我們成功,因為他們可以啟發 (inspire) 我們,啟發我們什麼呢?這一點也許比技術因子還關鍵,啟發我們如何降落 (land) 在客戶會買單的地上。
我們直接提出一個聚焦事業的架構,即「Container DevOps」,意思就是說,一個 Container 是我們推出的一個服務,透過 Containers 的疊加,形成我們整體的服務架構。當有一個 Container 服務更新時,我們就透過 CI/CD 的方式去更新這個 Container,形成一個持續佈署的流水線。
值得注意的是,Container 是一個輕量級的服務元件,因為它只包含該應用程式所需的東西,並不包含 Guest OS,所以它是在一個 OS 上的虛擬化技術,這個真正的 OS 就是雲所生長的土壤,我們叫它「雲原生土壤」。
Container 也是一個微服務 (Microservices) 架構,所以我們接下來也要從 Web Service / API 的角度,來進一步檢視服務之間的鏈結狀況與方法。
我們最一開始的考量點是:不要被特定一家供應商綁住,這個不論在硬體料或軟體料都是必須注意的需求。我們要能夠在任何的「雲原生土壤」上提供我們的服務,不論這個土壤是 Google、Microsoft、Amazon 或其他雲提供者。
我們選擇「智能永續城市」主題作為談論「雲原生」的經緯線,原因是當我們面對活生生的「城市」時,Security、Performance、Plan to Scale 從一開始就很重要,也許一開始不必把心力資源花在這些上面,但要有那個預備。
考慮預算的節約,我們最傾向使用 Open Source,特別地,CNCF Landscape 為我們整理並分類了一大堆可用的 Open Source 元件。我們的建議是:好好地深入研究,在我們做決定要深入使用某一個套件之前。接下來,我們就從當中挑一個平台類的 Serverless 元件來研究看看。